10 REM ****************************** 20 REM * * 30 REM * HILITE BAR MENU MAKER * 40 REM * BY * 50 REM * BONES * 60 REM * * 70 REM ****************************** 80 : 90 : 100 REM ****************************** 110 REM * MENU LISTS * 120 REM ****************************** 130 : 140 : 150 REM ****----MENU ONE----**** 160 : 170 : 180 MI$(0)= " [209] GOTO SECOND MENU [209] " 190 MI$(1)= " [209] MENU OPTION TWO [209] " 200 MI$(2)= " [209] MENU OPTION THREE [209] " 210 MI$(3)= " [209] MENU OPTION FOUR [209] " 220 MI$(4)= " [209] END DEMO [209] " 224 : 225 REM ****----MENU TWO----**** 226 : 227 : 230 MI$(5)= " [209] GOTO THIRD MENU [209] " 240 MI$(6)= " [209] ANOTHER OPTION [209] " 250 MI$(7)= " [209] OPTING BACK TO ONE [209] " 254 : 255 REM ****----MENU THREE----**** 256 : 257 : 260 MI$(8)=" [209] MORE OPTION ADVENTURES [209] " 270 MI$(9)=" [209] ALMOST THE LAST OPTION [209] " 280 MI$(10)=" [209] GETTING BACK TO TWO [209] " 290 : 295 : 300 REM **************************** 310 REM ** MORE USEFUL STRINGS ** 320 REM **************************** 325 : 330 : 340 NUL$=" " 350 YN$=" << ARE YOU SURE [Y/N] ? >>" 360 SK$=" << STRIKE ANY KEY OR FIRE >>" 390 : 395 : 400 REM **************************** 410 REM ** MAIN LOOP AND EXIT ** 420 REM **************************** 425 : 430 BO=53281:POKEBO,6:BA=BO-1:POKEBA,6:PRINT"[147][154]" 436 : 440 GOSUB 60500:REM PRINT BOTTOM PANEL 445 : 450 GOSUB 1000:REM FIRST MENU 455 : 460 IFQTHEN480:REM QUIT PROGRAM 465 : 470 GOTO440:REM BACK TO START 475 : 480 PRINT"[147]"YN$ 485 : 490 GOSUB60320:REM GET KEYIN 495 : 500 IFCH=89THEN530REM YES - QUIT 505 : 510 IFCH=78THEN440:REM NO - DON'T QUIT 515 : 520 GOTO490:REM NO KEYPRESS 525 : 530 SYS64738:REM RESET COMPUTER 535 : 990 : 991 REM ***************************** 992 REM ** MENU ACTIONS ** 993 REM ***************************** 994 : 995 : 997 REM ****----MENU #1----**** 998 : 999 : 1000 M1=4:REM MAXIMUM MENU ENTRY 1010 M2=0:REM MINIMUM MENU ENTRY 1020 GOSUB 60000:REM MENU CREATOR 1030 IF M=5 THEN Q=1:RETURN:REM QUIT 1040 ON M GOSUB 1500,3000,4000,4500 1050 GOSUB 60500:GOTO1000:REM PRINT PANEL AND MENU LOOP 1494 : 1495 : 1497 REM ****----MENU #2----**** 1498 : 1499 : 1500 GOSUB60500:M1=7:REM MAXIMUM MENU ENTRY 1510 M2=5:REM MINIMUM MENU ENTRY 1520 GOSUB 60000:REM MENU CREATOR 1530 IF M=8 THEN RETURN:REM BACK TO 1 1540 ON M-M2 GOSUB 2000,5000 1550 GOTO1500:REM PRINT PANEL AND MENU LOOP 1994 : 1995 : 1997 REM ****----MENU #3----**** 1998 : 1999 : 2000 GOSUB60500:M1=10:REM MAXIMUM MENU ENTRY 2010 M2=8:REM MINIMUM MENU ENTRY 2020 GOSUB 60000:REM MENU CREATOR 2030 IF M=11 THEN RETURN:REM BACK TO 2 2040 ON M-M2 GOSUB 6000,7000 2050 GOTO2000:REM PRINT PANEL AND MENU LOOP 2990 : 2991 : 2992 REM **************************** 2993 REM ** SUBROUTINES CALLED ** 2994 REM ** MENU'S ** 2995 REM **************************** 3000 : 3010 : 3020 POKEBO,0:POKEBA,0:PRINT"[147][156] THIS IS OPTION TWO!!!" 3030 PRINTSK$:GOSUB60320:POKEBO,6:POKEBA,6:PRINT"[154]":RETURN 4000 : 4010 : 4020 POKEBO,2:POKEBA,2:PRINT"[147][150] THIS IS OPTION THREE!!" 4030 PRINTSK$:GOSUB60320:POKEBO,6:POKEBA,6:PRINT"[154]":RETURN 4500 : 4510 : 4520 POKEBO,10:POKEBA,10:PRINT"[147][149] THIS IS OPTION FOUR!!" 4530 PRINTSK$:GOSUB60320:POKEBO,6:POKEBA,6:PRINT"[154]":RETURN 5000 : 5010 : 5020 POKEBO,14:POKEBA,14:PRINT"[147] THIS IS ANOTHER OPTION !!" 5030 PRINTSK$:GOSUB60320:POKEBO,6:POKEBA,6:PRINT"[154]":RETURN 6000 : 6010 : 6020 POKEBO,1:POKEBA,1:PRINT"[147][144] MORE OPTIONAL ADVENTURES!!" 6030 PRINTSK$:GOSUB60320:POKEBO,6:POKEBA,6:PRINT"[154]":RETURN 7000 : 7010 : 7020 POKEBO,5:POKEBA,5:PRINT"[147][153] ALMOST THE LAST OPTION!!" 7030 PRINTSK$:GOSUB60320:POKEBO,6:POKEBA,6:PRINT"[154]":RETURN 59985 : 59986 : 59990 REM ***************************** 59991 REM * * 59992 REM * MENU & HILITE BAR * 59993 REM * PRINT * 59994 REM * * 59995 REM * DELETE ALL REMARKS AND * 59996 REM * CRUNCH DOWN COMMANDS * 59997 REM * * 59998 REM ***************************** 59999 : 60000 LN=214:REM CURSER PHYSICAL LINE NUMBER 60005 : 60010 CB=198:REM NO. CHARACTERS IN BUFFER 60015 : 60020 MM=M1:REM TRANSFER MAXIMUM MENU ITEMS 60025 : 60030 MN=M2:REM TRANSFER MINIMUM MENU ITEMS 60035 : 60040 PRINT"":REM HOME CURSER (X=0:Y=0) 60045 : 60050 FOR C = M2 TO M1:REM SETTING UP MENU PARAMETERS 60055 : 60060 PRINT"";MI$(C):REM PRINT MENU ITEM 60065 : 60070 NEXT:REM DO LOOP UNTIL ALL MENU ITEMS ARE PRINTED 60075 : 60080 POKELN,0:REM CLEAR KEYBOARD BUFFER 60085 : 60090 RB=MN:CL=MN:REM SETTING BAR/CLEAR TO MINIMUM MENU ITEM 60095 : 60100 GOSUB 60260:REM DO REVERSE BAR PRINT 60105 : 60110 FOR RE = 0 TO 1 STEP 0:REM SETTUP FIRST LOOP 60115 : 60120 GOSUB 60320:REM GET JOYSTICK/KEYBOARD INPUT 60125 : 60130 C1=CL:R1=RB:REM SETTUP TEST VALUES 60135 : 60140 FOR Y = 0 TO 1 STEP 0:REM SETTUP SECOND LOOP 60145 : 60150 REM TESTING JOYSTICK/KEYBOARD INPUT 60155 : 60160 IFCH=17THENRB=RB+1:IFRB=MM+1THENRB=MN:REM TEST IF BEYOND LAST MENU ITEM 60165 : 60170 IFCH=145THENRB=RB-1:IFRB=MN-1THENRB=MM:REM TEST IF BEFORE FIRST MENU ITEM 60175 : 60180 IFCH=13THENRE=1:REM TEST IF FIRE/RETURN IS SELECTED 60185 : 60190 IF MI$<>NUL$THENY=1:REM TEST IF MENU ITEM IS EMPTY STRING 60195 : 60200 NEXT Y:REM DO TO END OF INNER LOOP 60205 : 60210 IF (C1<>CL) OR (R1<> RB) THEN GOSUB 60240:REM RUN TEST FOR REVERSE/CLEAR 60215 : 60220 NEXT RE:REM DO TO END OF OUTER LOOP 60225 : 60230 GOTO 60290:REM ASSIGN VALUE OF MENU LINE 60235 : 60240 POKE LN,R1-MN:REM MOVE CURSOR TO CORRECT POSITION 60245 : 60250 PRINT"";MI$(R1):REM PRINT CLEAR MENU ITEM 60255 : 60260 POKELN,RB-MN:REM MOVE CURSOR TO CORRECT POSITION 60265 : 60270 PRINT"";MI$(RB):REM PRINT REVERSE MENU ITEM 60275 : 60280 GOTO60300 60285 : 60290 M=RB+1:REM ASSING ITEM NUMBER TO VARIABLE M 60295 : 60300 RETURN 60305 : 60306 REM ************************** 60310 REM *** GET INKEY/JOYSTICK *** 60311 REM ************************** 60315 : 60320 CH=0:GETA$:IFA$<>""THENCH=ASC(A$):RETURN:REM IF A KEY IS PRESSED - GET IT 60325 : 60330 J=PEEK(56320):REM JOYSTICK PORT2 60335 : 60340 IFJ=126THENCH=145:RETURN:REM UP 60345 : 60350 IFJ=125THENCH=17:RETURN:REM DOWN 60355 : 60360 IFJ=111THENCH=13:RETURN:REM FIRE 60365 : 60370 GOTO60320:REM NOTHING, SO KEEP CHECKING! 60494 : 60495 : 60496 REM ***************** 60497 REM ** CURSOR PLOT ** 60498 REM ***************** 60499 : 60500 PRINT"[147]":POKE781,20:POKE782,0:SYS65520 60501 : 60502 : 60503 REM ****************** 60504 REM ** BOTTOM PANEL ** 60505 REM ****************** 60510 PRINT"[153] [213][162][185][162][185][162][185][162][185][162][185][162][185][162][185][162][185][162][185][162][185][162][185][162][185][162][185][162][185][162][185][162][185][162][185][162][201]" 60520 PRINT" [221][169][223][146] [221]" 60530 PRINT" -------" 60540 PRINT" [223][169][154]" 60550 RETURN